home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc / Sample Code / Sample Editors⁄Viewers / Picture Viewer / Source / PictureViewer.idl < prev    next >
Encoding:
Text File  |  1995-12-08  |  6.3 KB  |  267 lines  |  [TEXT/MPS ]

  1. /*------------------------------------------------------------------------------
  2.     File:        PictureViewer.idl
  3.  
  4.     Contains:    PictureViewer SOM object interface
  5.  
  6.     Written by:    Sue Dumont
  7.  
  8.     Copyright:    © 1994-95 by Apple Computer, Inc., all rights reserved.
  9. ------------------------------------------------------------------------------*/
  10.  
  11. #ifndef _PICTUREVIEWER_
  12. #define _PICTUREVIEWER_
  13.  
  14. #ifndef _PART_
  15. #include "Part.idl"
  16. #endif 
  17.  
  18. #ifndef _PICTUREVIEWERVERS_
  19. #include "PictureViewerVers.h"
  20. #endif
  21.  
  22. //==============================================================================
  23. // Classes used by this interface
  24. //==============================================================================
  25.  
  26. interface    ODFocusSet;
  27. interface    ODMenuBar;
  28. interface    ODSession;
  29. interface    ODWindow;
  30. interface    ODFrame;
  31. interface    ODShape;
  32.  
  33. #ifdef __PRIVATE__
  34. //==============================================================================
  35. // Implementation Types
  36. //==============================================================================
  37.  
  38. typedef somToken CList;
  39. typedef somToken Handle;
  40. typedef somToken GWorldPtr;
  41. typedef somToken HFSFlavor;
  42. typedef somToken WindowProperties;
  43.  
  44. #endif 
  45.  
  46. //==============================================================================
  47. // PictureViewer SOM Class
  48. //==============================================================================
  49.  
  50. module SampleCode
  51. {
  52.  
  53. interface PictureViewer : ODPart
  54. {
  55. #ifdef __PRIVATE__
  56.  
  57.     void        Initialize();
  58.     void        InitializeMenuBar();
  59.     ODShape        CalculateUsedShape(in ODFrame frame);
  60.     void        CleanupWindow(in ODFrame frame);
  61.     void        CleanupDisplayFrame(in ODFrame frame, in ODBoolean frameRemoved);
  62.     WindowProperties* GetDefaultWindowProperties(in ODFrame sourceFrame,
  63.                                         in Rect windowRect);
  64.     WindowProperties* GetSavedWindowProperties(in ODFrame frame);
  65.     void        CheckAndAddProperties(in ODStorageUnit storageUnit);
  66.     void        InternalizeStateInfo(in ODStorageUnit storageUnit);
  67.     void        InternalizeContent(in ODStorageUnit storageUnit,in ODFacet facet);
  68.     void        ExternalizeStateInfo(in ODStorageUnit storageUnit, 
  69.                                     in ODDraftKey key, in ODFrame scopeFrame);
  70.     void        ExternalizeContent(in ODStorageUnit storageUnit,
  71.                                      in ODDraftKey key, in ODFrame scopeFrame);
  72.     void        CleanseContentProperty(in ODStorageUnit storageUnit);
  73.     void        UpdateFrame(in ODFrame frame, in ODTypeToken view, 
  74.                                             in ODShape usedShape);
  75.     void        RelinquishAllFoci(in ODFrame frame);
  76.     ODBoolean    HandleMenuEvent(in ODEventData event, in ODFrame frame);
  77.     ODBoolean    HandleMouseEvent(in ODEventData event, in ODFacet facet,
  78.                                     in ODEventInfo eventInfo);
  79.     void        PartActivated(in ODFrame frame);
  80.     void        DrawFrameView(in ODFacet facet);
  81.     void        DrawIconView(in ODFacet facet);
  82.     void        DrawThumbnailView(in ODFacet facet);
  83.     ODBoolean    ActivateFrame(in ODFrame frame);
  84.     void        WindowActivating(in ODFrame frame, in ODBoolean activating);
  85.     ODWindow    AcquireFramesWindow(in ODFrame frame);
  86.     ODWindow    CreateWindow(in ODFrame frame, in ODType frameType, 
  87.                                         in WindowProperties* windowProperties);
  88.     Rect        CalcPartWindowSize(in ODFrame sourceFrame);
  89.     Rect        CalcPartWindowPosition(in ODFrame frame, 
  90.                                         in Rect partWindowBounds);
  91.     void        HandleCopy(in ODFrame frame);
  92.     void        HandleDisplayMenuCommand(in ODSLong command, in ODFrame frame);
  93.     void        HandleDialogBox(in ODFrame frame, in ODSShort dialogID,
  94.                                 in ODUShort errorNumber);
  95.     void        ReadPictureFile(in ODFacet facet, in HFSFlavor* hfsInfo, in ODULong size);
  96.     void        SetDirty();
  97.     void        GenerateThumbnail(in ODFrame frame);
  98.     ODFacet        GetActiveFacetForFrame(in ODFrame frame);
  99.  
  100. #endif 
  101.  
  102. #ifdef __SOMIDL__
  103.   implementation
  104.     {
  105.         majorversion = currentMajorVersion;
  106.         minorversion = currentMinorVersion;
  107.  
  108.         functionprefix = PictureViewer__;
  109.     
  110.         override:
  111.             somInit,
  112.             somUninit,
  113.             
  114.             //# ODObject method
  115.             AcquireExtension,
  116.             HasExtension,
  117.             ReleaseExtension,
  118.             Purge,
  119.             
  120.             //# ODRefCountedObject method
  121.             Release,
  122.             
  123.             //# ODPersistentObject methods.
  124.             CloneInto,
  125.             Externalize,
  126.             ReleaseAll,
  127.             
  128.             //# ODPart methods
  129.             AbortRelinquishFocus,
  130.             ContainingPartPropertiesUpdated,
  131.             AdjustMenus,
  132.             AttachSourceFrame,
  133.             BeginRelinquishFocus,
  134.             CanvasChanged,
  135.             CanvasUpdated,
  136.             ChangeKind,
  137.             ClonePartInfo,
  138.             CommitRelinquishFocus,
  139.             DisplayFrameAdded,
  140.             DisplayFrameClosed,
  141.             DisplayFrameConnected,
  142.             DisplayFrameRemoved,
  143.             Draw,
  144.             ExternalizeKinds,
  145.             FacetAdded,
  146.             FacetRemoved,
  147.             FocusAcquired,
  148.             FocusLost,
  149.             FrameShapeChanged,
  150.             FulfillPromise,
  151.             GeometryChanged,
  152.             GetPrintResolution,
  153.             HandleEvent,
  154.             HighlightChanged,
  155.             InitPart,
  156.             InitPartFromStorage,
  157.             LinkStatusChanged,
  158.             Open,
  159.             PresentationChanged,
  160.             ReadPartInfo,
  161.             SequenceChanged,
  162.             ViewTypeChanged,
  163.             WritePartInfo;
  164.     
  165.         releaseorder:
  166. #ifdef __PRIVATE__
  167.             Initialize,
  168.             InitializeMenuBar,
  169.             CalculateUsedShape,
  170.             CleanupWindow,
  171.             CleanupDisplayFrame,
  172.             GetDefaultWindowProperties,
  173.             GetSavedWindowProperties,
  174.             CheckAndAddProperties,
  175.             InternalizeStateInfo,
  176.             InternalizeContent,
  177.             ExternalizeStateInfo,
  178.             ExternalizeContent,
  179.             CleanseContentProperty,
  180.             UpdateFrame,
  181.             RelinquishAllFoci,
  182.             HandleMenuEvent,
  183.             HandleMouseEvent,
  184.             PartActivated,
  185.             DrawFrameView,
  186.             DrawIconView,
  187.             DrawThumbnailView,
  188.             ActivateFrame,
  189.             WindowActivating,
  190.             AcquireFramesWindow,
  191.             CreateWindow,
  192.             CalcPartWindowSize,
  193.             CalcPartWindowPosition,
  194.             HandleCopy,
  195.             HandleDisplayMenuCommand,
  196.             HandleDialogBox,
  197.             ReadPictureFile,
  198.             SetDirty,
  199.             GenerateThumbnail,
  200.             GetActiveFacetForFrame;
  201. #else
  202.             reserved1,
  203.             reserved2,
  204.             reserved3,
  205.             reserved4,
  206.             reserved5,
  207.             reserved6,
  208.             reserved7,
  209.             reserved8,
  210.             reserved9,
  211.             reserved10,
  212.             reserved11,
  213.             reserved12,
  214.             reserved13,
  215.             reserved14,
  216.             reserved15,
  217.             reserved16,
  218.             reserved17,
  219.             reserved18,
  220.             reserved19,
  221.             reserved20,
  222.             reserved21,
  223.             reserved22,
  224.             reserved23,
  225.             reserved24,
  226.             reserved25,
  227.             reserved26,
  228.             reserved27,
  229.             reserved28,
  230.             reserved29,
  231.             reserved30,
  232.             reserved31,
  233.             reserved32,
  234.             reserved33,
  235.             reserved34;
  236. #endif // __PRIVATE__
  237.     
  238. #ifdef __PRIVATE__
  239.             passthru C_xh = ""
  240.             ""
  241.             "#ifndef _WINUTILS_"
  242.             "#include <WinUtils.h>"
  243.             "#endif";
  244.  
  245.  
  246.             ODSession                fSession;
  247.             ODPart                    fSelf;
  248.             CList*                    fDisplayFrames;
  249.             ODBoolean                fDirty;
  250.             ODBoolean                fReadOnlyStorage;
  251.     
  252.             ODHandle                fPicture;
  253.             ODSLong                    fDisplayMode;
  254.             ODPtr                    fGWorld;
  255.  
  256. #endif // __PRIVATE__
  257.  
  258.   };
  259.   
  260. #endif __SOMIDL__
  261.  
  262.  };    
  263. };
  264.  
  265. #endif __PICTUREVIEWER__
  266.  
  267.